package com.itheima.array;

public class ArrayTest5 {
    public static void main(String[] args) {
        // 目标：完成数字华容道的初始化和随机乱序
        start(4);
    }

    public static void start(int n) {
        // 1. 定义一个二维数组存储数字列表。
        int[][] arr = new int[n][n];

        // 2. 遍历二维数组，将二维数组赋值
        int count = 1;
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                arr[i][j] = count++;
            }
        }
        printArray(arr);

        // 3. 打乱二维数组中的元素顺序
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                int index1 = (int) (Math.random() * arr.length);
                int index2 = (int) (Math.random() * arr.length);

                // 注释：随机取两个索引值，交换两个位置的牌
                int temp = arr[index1][index2];
                arr[index1][index2] = arr[index2][index1];
                arr[index2][index1] = temp;
            }
        }

        printArray(arr);

    }
    public static void printArray(int[][] arr) {
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
    }
}
